package org.xmlbinder;


import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**Maps a sub-element of a Tag to a field/method
 * @author Noble Paul (noble.paul@gmail.com)
 */
@Target({FIELD, METHOD, TYPE})
@Retention(RUNTIME)
public @interface Element {
    /**
     * The name of the tag. If not given the default is set as the name of the field. Give a '/' separated  value for nested teags
     */
    String value() default "##default";

    /**For the special case of List field. The type of the List.
     */
    public Class type() default String.class;
}
